package com.domus.dreamMenu.tipos;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;

import com.domus.dreamMenu.tipos.*;

public class Cardapio implements Serializable {
	
	
	private static final long serialVersionUID = -6102656544141480939L;
	ArrayList<Secao> cardapio;
	public static Idioma lingua = Idioma.INGLES;
	
	public Cardapio(ArrayList<Secao> cardapio){
		this.cardapio = cardapio;
	}

	public ArrayList<Secao> getCardapio() {
		return cardapio;
	}
	
	public Secao getSecao(String nome){
		Iterator<Secao> iterator = this.cardapio.iterator();
		
		Secao secao;
		while(iterator.hasNext()){
			secao = iterator.next();
			String[] nomes = secao.getNomes();
			
			if(nomes[Idioma.getNumeroIdioma(Idioma.PORTUGUES)].equals(nome))
				return secao;
		}
		
		return null;
	}

	public String[] getNomesSecao() {
		int posicao = Idioma.getNumeroIdioma(lingua);
		String[] retorno = new String[cardapio.size()];
		for(int i = 0; i < retorno.length; i++){
			retorno[i] = cardapio.get(i).getNomes()[posicao];
		}
		return retorno;
	}

	public String[][] getNomesDescricoes() {
		int posicao = Idioma.getNumeroIdioma(lingua);
		String[][] retorno = new String[cardapio.size()][];
		for(int i = 0; i < retorno.length; i++){
			retorno[i] = new String[cardapio.get(i).getPratos().size()];
			for(int j=0; j < retorno[i].length; j++){
				retorno[i][j] = cardapio.get(i).getPratos().get(j).getDescricoesCurtas()[posicao];
			}
		}
		return retorno;
	}

	public String[][][] getNomesIngredientes() {
		int posicao = Idioma.getNumeroIdioma(lingua);
		String[][][] retorno = new String[cardapio.size()][][];
		for(int i = 0; i < retorno.length; i++){
			retorno[i] = new String[cardapio.get(i).getPratos().size()][];
			for(int j=0; j < retorno[i].length; j++){
				retorno[i][j] = new String[cardapio.get(i).getPratos().get(j).getIngredientes().size()];
				for(int k=0 ; k < cardapio.get(i).getPratos().get(j).getIngredientes().size();k++){
					retorno[i][j][k] = 
						cardapio.get(i).getPratos().get(j).getIngredientes().get(k).getNomes()[posicao];
				}
				
			}
		}
		return retorno;
	}

	
}
